package attribute

import (
	"encoding/json"
	"errors"
	"fmt"
	"kop/modules/configuration/client"
	"kop/util/log"
)

func init() {

	var b = client.Load("AttributeTemplate")
	if err := json.Unmarshal(b, &Configs); err != nil {
		panic(err)
	}

	log.Info("Load AttributeTemplate.json success.")

}

type Conf struct {
	AttributeID int32   `json:"ID"`
	INT         int32   // 智力
	COR         int32   // 勇气
	CHR         int32   // 魅力
	INTRate     float32 // 智力比例
	CORRate     float32 // 勇气比例
	CHRRate     float32 // 魅力比例
	CRTRate     float32 // 暴击比例
	CRTDmgRate  float32 // 暴击伤害比例
	RingRate    int32   // 魔戒属性比例
	ItemCost    int32   // 道具需要数量
	MoneyCost   int32   // 船长升级需要的金币
	ExpCost     int32   // 技能升级需要的经验
}

var (
	Configs = map[int32]Conf{}
)

func GetByAttributeID(ID int32) (Conf, error) {

	var conf, ok = Configs[ID]
	if ok {
		return conf, nil
	}

	return Conf{}, errors.New(fmt.Sprintf("AttributeID not found [%d]", ID))
}
